package ffmpeg;


import java.util.ArrayList;
import java.util.List;

public class Args {

    public static List<String> version(String ffmpegPath) {
        ArrayList<String> args = new ArrayList<>();
        args.add(ffmpegPath);
        args.add("-version");
        return args;
    }

    /**
     * 相机rtsp流转rtmp流
     * @param ffmpegPath
     * @param rtspUrl
     * @param vcodec
     * @param rtmpUrl
     * @return
     */
    public static List<String> camera_rtsp_rtmp(String ffmpegPath, String rtspUrl, String vcodec, String rtmpUrl) {
        ArrayList<String> args = new ArrayList<>();
        args.add(ffmpegPath);
        args.add("-rtsp_transport");
        args.add("tcp");
        args.add("-i");
        args.add(rtspUrl);
        args.add("-vcodec");
        args.add(vcodec);
        args.add("-acodec");
        args.add("copy");
        args.add("-ar");
        args.add("44100");
        args.add("-strict");
        args.add("-2");
        args.add("-ac");
        args.add("1");
        args.add("-f");
        args.add("flv");
        args.add("-s");
        args.add("1280x720");
        args.add("-q");
        args.add("10");
        args.add("-f");
        args.add("flv");
        args.add(rtmpUrl);
        return args;
    }

    /**
     * 探测流地址是否可用
     * @param address : rtsp、http
     * @return
     */
    public static List<String> camera_probe(String ffprobePath, String address) {
        ArrayList<String> args = new ArrayList<>();
        args.add(ffprobePath);
        args.add("-v");
        args.add("quiet");
        args.add("-show_streams");
        args.add("-print_format");
        args.add("json");
        args.add(address);
        return args;
    }

}
